package com.huilian.iotbox.data.vo;

import com.huilian.iotbox.data.dto.CommodityStoreUpDownDto;
import com.huilian.iotbox.data.dto.QueryParam;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderCompleteVo extends QueryParam {
    private Long id;

    /**
     * 收款商户类型  1.平台商户   2.自有商户   3.现金收款
     */
    private Integer mchType;

    /**
     * 门店id
     */
    private Integer merchantStoreId;

    /**
     * 投币时的设备类型id
     */
    private Integer deviceTypeId;

    /**
     * 外部交易单号
     */
    private String outTradeNo;

    /**
     * 设备号
     */
    private String deviceNo;

    /**
     * 商品描述
     */
    private String body;

    private BigDecimal totalIntegrate;

    /**
     * 退款金额
     */
    private BigDecimal refundTotalAmount;
    /**
     * 扭蛋机次数
     */
    private Integer times;
    /**
     * 销售币
     */
    private Integer saleCoin;
    /**
     * 赠送币
     */
    private Integer giveCoin;
    /**
     * 总币数
     */
    private Integer totalCoin;

    private String merchantId;

    /**
     * 购买前数量
     */
    private Integer rechargeBeforeBalance;
    /**
     * 购买后数量
     */
    private Integer rechargeAfterBalance;
    /**
     * 金额套餐选择类型：1、套餐  2、自选
     */
    private Integer optionType;

    /**
     * 退款类型  1当天退款  2 隔天退款
     */
    private Integer refundType;

    /**
     * 机构id
     */
    private Integer agencyId;

    /**
     * 渠道id
     */
    private String payCompanyCode;

    /**
     * 01 支付宝，02微信 03纸钞机 04投币器
     */
    private String channelType;

    private Integer userId;

    private Long memberId;

    private String openId;

    /**
     * 操作员ID。门店操作员ID
     */
    private Integer operatorId;

    /**
     * 手续费
     */
    private BigDecimal handlingCharge;


    private BigDecimal totalCommission;

    /**
     * 结算金额
     */
    private BigDecimal settlementMoney;

    /**
     * 支付时间
     */
    private Date gmtPayment;

    /**
     * 付款方式
     */
    private String bankType;

    private String payChannelOrderNo;

    private String merchantOrderNo;

    /**
     * 网商支付单号
     */
    private String orderNo;

    private String credit;

    private String buyerLogonId;

    private String buyerUserId;

    /**
     * 0待付款，1成功，2，关闭，3撤销 ,4退单,5失败，6部分退款 7全额退款 8退款中 9退款失败
     */
    private Integer status;
    /**
     * 0 运行中，1 结束
     */
    private Integer shoutStatus;

    /**
     * 结算状态
     */
    private Integer stmtStatus;

    /**
     * 0未分账 1已分账
     */
    private Integer shareStatus;

    /**
     * 结算时间
     */
    private Date stmtDateTime;

    /**
     * 标记
     */
    private Integer flag;

    /**
     * 1=公众号（生活号）,2=扫码 3=刷卡
     */
    private Integer function;

    private String notifyUrl;


    private Integer notifyStatus;

    private String notifyResponse;

    /**
     * 回调次数
     */
    private Integer notifyCount;

    /**
     * 自定义参数
     */
    private String attch;

    /**
     * ip地区  国 省市区
     */
    private String ipRegion;

    /**
     * 备注
     */
    private String remark;
    private String storeName;

    private String nickName;
    /**
     * 总交易金额
     */
    private BigDecimal successMoney;
    /**
     * 总的手续费
     */
    private BigDecimal feeMoney;
    /**
     * 应结算金额
     */
    private BigDecimal settlementTotal;
    /**
     * 销售币和赠送币的总和
     */
    private BigDecimal coinTotal;
    /**
     * 总的销售币
     **/
    private BigDecimal saleCoinTotal;
    /**
     * 总的赠送币
     */
    private BigDecimal giveCoinTotal;

    private String username;

    private String name;

    private String agencyName;

    private String agencyNo;
    /**
     * 支付宝userId
     */
    private String zfbUserId;

    /**
     * 设备类型名称
     */
    private String deviceTypeName;

    /**
     * 总分润
     */
    private BigDecimal commissionTotal;

    /**
     * 下级分润
     */
    private BigDecimal lowerCommission;

    /***实得分润*/

    private BigDecimal realCommission;

    /**
     * 总销售额
     */
    private BigDecimal totalAmountCount;

    /**
     * 交易总额度
     */
    private BigDecimal totalAmount;

    /**
     * 总交易笔数
     */
    private Integer totalCount;

    /**
     * 总利润
     */
    private BigDecimal realCommissionCount;

    /**
     * 总销量(游戏币)
     */
    private Integer totalCoinCount;

    private Date gmtPaymentStart;

    private Date gmtPaymentEnd;

    private BigDecimal cashMoney;

    /**
     * 别名
     */
    private Integer deviceAlias;
    /**
     * 设备备注名称，方便记忆
     */
    private String remarkName;

    private Long orderId;
    /**
     * 状态格式化后名称
     */
    private String stateFormatName;
    private BigDecimal turnover;
    /**
     * 线上营业额
     */
    private BigDecimal turnoverOnLine;
    /**
     * 线下营业额
     */
    private BigDecimal turnoverOffline;

    private String hlMerchantId;

    /**
     * 头像
     */
    private String headImgUrl;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 性别
     */
    private Integer sex;
    private List<CommodityStoreUpDownDto> chooseCommodityList;
    private String commodityStoreUpDownIdList;

    /**
     * 商品总件数
     */
    private Integer commodityCount;
    /**
     * 消费记录id
     */
    private Integer crId;
    /**
     * 消费记录设备类型id
     */
    private Integer crDeviceTypeId;
    /**
     * 消费记录状态
     */
    private Integer crStatus;

    private Integer orderExchangeType;
    private Integer type;
    private Boolean remoteStart;
    private String memberRemarkName;
    private BigDecimal discountMoney;
}
